﻿using System;
using System.Collections.Generic;

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using WLMCoreLibrary;
using MiWebSite_Core;


namespace MWS_AddDirectory.MisAnuncios.Perfil
{
    public partial class Edit : System.Web.UI.Page
    {
        public dbConnector ConexionDB;
        public WebSiteMainConfiguration config;
        protected void Page_Load(object sender, EventArgs e)
        {
            config = WebSiteMainConfiguration.GetConfig();
            if (!IsPostBack)
                CargarDatosActuales();
            if (Request.QueryString["edit"] != null)
                guardarDatosUsuario();
        }

        protected void CargarDatosActuales()
        {
            if (CurrentClient.Id != 0)
            {
                ConexionDB = new dbConnector(config.Connections["WebSite"].value);
                Cliente cliente = new Cliente(CurrentClient.Id, ref ConexionDB);
                {
                    if (cliente.id != 0)
                    {
                        txtApellidos.Text = cliente.Apellidos;
                        txtColonia.Text = cliente.Colonia;
                        txtCP.Text = cliente.CP;
                        txtDireccion.Text = cliente.Direccion;
                        txtEstado.Text = cliente.Estado;
                        txtMunicipio.Text = cliente.Municipio;
                        txtNombre.Text = cliente.Nombre;
                        lblEmail.Text = cliente.email;
                        txtTelefono.Text = cliente.Telefono;
                        txtCelular.Text = cliente.Celular;
                        txtFax.Text = cliente.Fax;
                        txtEmailAlterno.Text = cliente.EmailAlterno;
                    }
                }
                ConexionDB.CloseConnection();
            }
        }

        protected void guardarDatosUsuario()
        {
            if (CurrentClient.Id != 0)
            {
                ConexionDB = new dbConnector(config.Connections["WebSite"].value);
                Response.ContentType = "text/xml";
                try
                {
                    Cliente cliente = new Cliente(CurrentClient.Id, ref ConexionDB);
                    {
                        if (cliente.id != 0)
                        {
                            cliente.Apellidos = txtApellidos.Text;
                            cliente.Colonia = txtColonia.Text;
                            cliente.CP = txtCP.Text;
                            cliente.Direccion = txtDireccion.Text;
                            cliente.Estado = txtEstado.Text;
                            cliente.Municipio = txtMunicipio.Text;
                            cliente.Nombre = txtNombre.Text;
                            cliente.Telefono = txtTelefono.Text;
                            cliente.Celular = txtCelular.Text;
                            cliente.Fax = txtFax.Text;
                            cliente.EmailAlterno = txtEmailAlterno.Text;
                            cliente.Save();
                            cliente.EnviarEmailActualizacionCuenta();
                            cliente.nuevoMetodoNecesario("");
                            Response.Write(WLMFunctions.SerializeObject(
                                new SuccessObject(
                                    SuccessCode.RegistryUpdated,
                                    "",
                                    WLMFunctions.SerializeObject(cliente))
                                , true));
                        }
                    }
                    Response.Write(WLMFunctions.SerializeObject(new ErrorObject(ErrorCode.UserDontExist), true));
                }
                catch (Exception ex)
                {
                    Response.Write(WLMFunctions.SerializeObject(
                        new ErrorObject(ErrorCode.CompilationError, ex.Message, ex.Message, ex.StackTrace)
                        , true));
                }

                ConexionDB.CloseConnection();
                Response.End();
            }
        }
    }
}